Skip to content

Fix legend icon not rendering correctly due to wrong scaled dpr metric#110

Merged
PierreRaybaut merged 1 commit into
PlotPyStack:masterfrom
Adrian-B-Moreira:fix-scaled-dpr
Jun 27, 2026
Merged

Fix legend icon not rendering correctly due to wrong scaled dpr metric#110
PierreRaybaut merged 1 commit into
PlotPyStack:masterfrom
Adrian-B-Moreira:fix-scaled-dpr

Conversation

@Adrian-B-Moreira

@Adrian-B-Moreira Adrian-B-Moreira commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Fix QwtNullPaintDevice.metric() returning the wrong value for PdmDevicePixelRatioScaled, which caused legend icons to collapse to a degenerate size.

This is similar to #104, but with different causes.

Qt stores the device pixel ratio as a fixed-point integer scaled by QPaintDevice::devicePixelRatioFScale() (which is 0x10000 = 65536). This is how Qt represents a fractional DPR (e.g. 1.25, 1.5, 2.0) while keeping metric()'s return type as int.

So returning 1 for PdmDevicePixelRatioScaled means DPR interpreted as 1/65536 ≈ 0.0000153 → collapsed.

This also prevents the "Device has no metric information" warning.

Before the fix:

image

After the fix:

image

@PierreRaybaut

PierreRaybaut commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

Thanks a lot @Adrian-B-Moreira for the feedback and for the fix!

@PierreRaybaut PierreRaybaut merged commit 0983b37 into PlotPyStack:master Jun 27, 2026
12 checks passed
@PierreRaybaut

Copy link
Copy Markdown
Collaborator

Hey @Adrian-B-Moreira, we already have a few fixes since v0.16.2. If you want, we can release it quickly. Unless you may have other things to fix or report? Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants